<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Own
 *
 * @author 7sins
 */
class Own extends EMongoDocument
{
    public static function model($className = __CLASS__)
    {
        return parent::model($className);
    }
    
    public function primaryKey()
    {
        return 'id';
    }
    
    public function getCollectionName()
    {
        return 'Own';
    }
    
    /* mongodb生成自增id
     * @author  RenLong
     * @date  2013-09-25
     * @param  $model
     * @return string
     * 
     * 解决mongodb无自增ID思路：
     * 数据库中查找最新一条记录的ID值，
     * 如ID不存在，赋ID值为1；
     * 如存在，则读取ID值并加1，返回新值。
     * 
     * 第一种写法
     * $criteria = new EMongoCriteria();
     * $criteria->sort('_id', EMongoCriteria::SORT_DESC);
     *
     * 第二种写法
     */

    public function auto_id($model)
    {
        $a = array('sort' => array('_id' => EMongoCriteria::SORT_DESC));
        $criteria = new EMongoCriteria($a);
        $data = $model->findAll($criteria);
        
        if ($data)
        {
            $id = $data[0]->id;
            $id++;
        }
        else
        {
            $id = 1;
        }

        //必须int转为string，否则$this->loadModel无法查询，返回null.
        return (string) $id;
    }
}

?>
